package com.easycoding.ums.system.service;


import java.util.List;

import com.easycoding.framework.exception.SecurityException;
import com.easycoding.ums.system.bo.UserTicket;
import com.easycoding.ums.system.entity.User;

/**
 * 用户相关服务接口
 * @author Wangjk
 * @Version 1.0
 * @Date 2013-4-1
 */
public interface UserService {
	
	/**
	 * 新增用户
	 */
	void insertUser(User user);
	
	/**
	 * 更新用户信息
	 * @param user
	 */
	void updateUser(User user);
	
	/**
	 * 删除用户
	 * @param id
	 */
	void deleteUserById(Long id);
	
	/**
	 * 停用用户
	 * @param id
	 */
	void stopUser(Long id);
	
	/**
	 * 暂停用户
	 * @param id
	 */
	void pauseUser(Long id);
	
	/**
	 * 恢复用户
	 * @param id
	 */
	void resumeUser(Long id);
	
	/**
	 * 验证用户名密码
	 * @param account
	 * @param password
	 * @return
	 */
	User verifyUser(String account , String password) throws SecurityException;
	
	/**
	 * 通过账号获得用户
	 * @param account
	 * @return
	 */
	User findByAccount(String account);
	
	/**
	 * 通过账号获得用户完整信息
	 * @param account
	 * @return
	 */
	UserTicket findByUserAccount(String account);
	
	/**
	 * 通过ID获得用户
	 * @param parseLong
	 * @return
	 */
	User findById(Long id);

	/**
	 * 查找下级会员
	 * @param id
	 * @return
	 */
	List<User> findChildren(Long id);
	
}
